package com.ruyuan2020.im.design.DecoratorPattern;

// 客户端类，用于演示装饰模式的使用
public class Client {
    public static void main(String[] args) {
        // 创建一个基础的咖啡对象
        Beverage beverage = new Coffee();
        System.out.println(beverage.getDescription() + " $" + beverage.cost()); // 输出：Coffee $1.99
        System.out.println("-----------------------");

        // 使用装饰器动态添加调料（牛奶和糖浆）到咖啡中
        beverage = new Syrup(new Milk(beverage)); // 先加牛奶，再加糖浆（顺序可以调换）
        System.out.println(beverage.getDescription() + " $" + beverage.cost()); // 输出：Coffee, Milk, Syrup $2.79 (1.99 + 0.30 + 0.50)
    }
}